package treeHoleDAO;

import treeHoleSERVICE.User;

import java.io.IOException;
import java.util.List;

public interface PublicTreeHole {
    /**
     *@Description: 创建一个文本文件作为公用树洞（仅能被创建一次）
     *@Param: []
     *@return:[]
     *@Author: Mr.Lin
     *@Date: 2022/6/16 17:39
     */
    void treeHoleFile() throws IOException;
    
   /**
    *@Description: 按照时间的先后将我们用户内容进行排序
    *@Param: [publicHistoryPostMessage]
    *@return:java.util.List<treeHoleSERVICE.User.UserHistory>
    *@Author: Mr.Lin
    *@Date: 2022/6/16 23:30
    */
   List<User.UserHistory> treeHolePersonalPostMessageSort(List<User.UserHistory> publicHistoryPostMessage);
    
    /**
     *@Description: 将我们排好序的帖子进行写入我们树洞公共文本文件中
     *@Param: [alreadySortPostMessage]
     *@return:void
     *@Author: Mr.Lin
     *@Date: 2022/6/16 23:31
     */
    void writeTreeHoleFile(List<User.UserHistory> alreadySortPostMessage);
    
    /**
     *@Description: 将我们公用树洞文本文件的内容进行一个读出的操作，将其展示在我们树洞页面之中 将我们数据返回出来便于删除操作
     *@Param: []
     *@return:java.util.List<treeHoleSERVICE.User.UserHistory>
     *@Author: Mr.Lin
     *@Date: 2022/6/16 23:20
     */
    List<User.UserHistory> readTreeHoleFileAndShowUI();

    /**
     *@Description: 根据我们题目内容进行一个删除，记得删除要将相应文本内容一起删除，记得再次调用展示函数和写入函数
     *@Param: [title]
     *@return:void
     *@Author: Mr.Lin
     *@Date: 2022/6/16 20:17
     */
    void deleteTreeHoleContent(String title);

    /**
     *@Description: 返回帖子总数
     *@Param: [title]
     *@return:void
     *@Author: Mr.Zhang
     *@Date: 2022/6/16 20:17
     */
    int Sum();

}
